/*
 * 大整数加法
 *
 * 题目链接：https://programming.pku.edu.cn/probset/c64f419547984d8ca5779180c6354146/91409edfe5e64f21876900e5914929fd/
 * 作者：lyazj <seeson@pku.edu.cn>
 *
 * 本题所需主要知识点：
 *   - 高精度加法
 */

#include <algorithm>
#include <iostream>

using namespace std;

constexpr size_t N = 201;

// 读取输入，按照“小端序”十进制字符串的方式存储到数组中
void input(char a[N])
{
  string s;
  cin >> s;
  char *p = a;
  for(auto it = s.rbegin(); it != s.rend(); ++it) { *p++ = *it - '0'; }
  while(p != a + N) *p++ = 0;
}

// 输出结果，注意去掉前导零和防止输出为空
void output(const char a[N])
{
  size_t n = N;
  while(n > 1 && a[n - 1] == 0) --n;
  string s;
  s.reserve(n);
  for(size_t i = 0; i < n; ++i) s.push_back(a[n - 1 - i] + '0');
  cout << s << endl;
}

// 高精度加法
void add(char a[N], const char b[N])
{
  int carry = 0;
  for(size_t i = 0; i < N; ++i) {
    carry = carry + a[i] + b[i];
    a[i] = carry % 10;
    carry /= 10;
  }
}

int main()
{
  char a[N], b[N];
  input(a);
  input(b);
  add(a, b);
  output(a);
  return 0;
}
